<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>py2rhino.obj._rhinoscript_classes.NurbsSurface</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="py2rhino-module.html">Package&nbsp;py2rhino</a> ::
        <a href="py2rhino.obj-module.html">Package&nbsp;obj</a> ::
        <a href="py2rhino.obj._rhinoscript_classes-module.html">Module&nbsp;_rhinoscript_classes</a> ::
        Class&nbsp;NurbsSurface
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class NurbsSurface</h1><p class="nomargin-top"><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface">source&nbsp;code</a></span></p>
<pre class="base-tree">
 object --+        
          |        
<a href="py2rhino.obj._rhinoscript_classes._ObjectRoot-class.html" onclick="show_private();">_ObjectRoot</a> --+    
              |    
   <a href="py2rhino.obj._rhinoscript_classes._SurfaceRoot-class.html" onclick="show_private();">_SurfaceRoot</a> --+
                  |
                 <strong class="uidshort">NurbsSurface</strong>
</pre>

<hr />
<!-- ==================== NESTED CLASSES ==================== -->
<a name="section-NestedClasses"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Nested Classes</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-NestedClasses"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.defm-class.html" class="summary-name">defm</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.dupl-class.html" class="summary-name">dupl</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.eval-class.html" class="summary-name">eval</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.func-class.html" class="summary-name">func</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.grps-class.html" class="summary-name">grps</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.modf-class.html" class="summary-name">modf</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.mtrl-class.html" class="summary-name">mtrl</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.prop-class.html" class="summary-name">prop</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.rndr-class.html" class="summary-name">rndr</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.stat-class.html" class="summary-name">stat</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.test-class.html" class="summary-name">test</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.trfm-class.html" class="summary-name">trfm</a>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="py2rhino.obj._rhinoscript_classes.NurbsSurface.util-class.html" class="summary-name">util</a>
    </td>
  </tr>
</table>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">_rhino_id</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__str__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== STATIC METHODS ==================== -->
<a name="section-StaticMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Static Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-StaticMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_cut_plane" class="summary-sig-name">create_by_cut_plane</a>(<span class="summary-sig-arg">objects</span>,
        <span class="summary-sig-arg">start_point</span>,
        <span class="summary-sig-arg">end_point</span>,
        <span class="summary-sig-arg">normal_vector</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method: Adds a planar surface through objects at a designated
      location.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_cut_plane">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_edge" class="summary-sig-name">create_by_edge</a>(<span class="summary-sig-arg">edge_curves</span>)</span><br />
      Factory method: Creates a surface from 2, 3, or 4 edge curves.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_edge">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_loft" class="summary-sig-name">create_by_loft</a>(<span class="summary-sig-arg">section_curves</span>,
        <span class="summary-sig-arg">start_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">end_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">srf_type</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">style</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">value</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">closed</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method:
Adds a surface created by lofting curves to the document.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_loft">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create" class="summary-sig-name">create</a>(<span class="summary-sig-arg">point_count</span>,
        <span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">knots_u</span>,
        <span class="summary-sig-arg">knots_v</span>,
        <span class="summary-sig-arg">degree</span>,
        <span class="summary-sig-arg">weights</span>)</span><br />
      Factory method: Adds a NURBS surface object to the document.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_planar_crv" class="summary-sig-name">create_by_planar_crv</a>(<span class="summary-sig-arg">planar_curves</span>)</span><br />
      Factory method: Creates one or more surfaces from planar curves.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_planar_crv">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_rail_rev" class="summary-sig-name">create_by_rail_rev</a>(<span class="summary-sig-arg">profile</span>,
        <span class="summary-sig-arg">rail</span>,
        <span class="summary-sig-arg">axis</span>)</span><br />
      Factory method: Create a surface by revolving a profile curve along a
      rail curve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_rail_rev">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_rev" class="summary-sig-name">create_by_rev</a>(<span class="summary-sig-arg">profile</span>,
        <span class="summary-sig-arg">axis</span>,
        <span class="summary-sig-arg">start_angle</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">end_angle</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method: Create a surface by revolving a curve around an axis.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_rev">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_control_pnt_grid" class="summary-sig-name">create_by_control_pnt_grid</a>(<span class="summary-sig-arg">count</span>,
        <span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">degree</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method: Creates a surface from a grid of control points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_control_pnt_grid">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_corner_pnts" class="summary-sig-name">create_by_corner_pnts</a>(<span class="summary-sig-arg">points</span>)</span><br />
      Factory method: Creates a new surface from either 3 or 4 corner 
      points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_corner_pnts">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_pnt_grid" class="summary-sig-name">create_by_pnt_grid</a>(<span class="summary-sig-arg">count</span>,
        <span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">degree</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">closed</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method: Creates a surface from a grid of points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_pnt_grid">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_sweep_1" class="summary-sig-name">create_by_sweep_1</a>(<span class="summary-sig-arg">rail</span>,
        <span class="summary-sig-arg">shapes</span>,
        <span class="summary-sig-arg">start_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">end_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">closed</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">style</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">style_arg</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">simplify</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">simplify_arg</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method:
Adds a surface created through profile curves that define the surface shape and one curve that defines a surface edge.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_sweep_1">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_sweep_2" class="summary-sig-name">create_by_sweep_2</a>(<span class="summary-sig-arg">rails</span>,
        <span class="summary-sig-arg">shapes</span>,
        <span class="summary-sig-arg">start_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">end_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">closed</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">simple_sweep</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">maintain_height</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">simplify</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">simplify_arg</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method:
Adds a surface created through profile curves that define the surface shape and two curves that define the surface edges.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_sweep_2">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_extrude_crv" class="summary-sig-name">create_by_extrude_crv</a>(<span class="summary-sig-arg">curve</span>,
        <span class="summary-sig-arg">path</span>)</span><br />
      Factory method: Creates a surface by extruding a curve along a path 
      curve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_extrude_crv_pnt" class="summary-sig-name">create_by_extrude_crv_pnt</a>(<span class="summary-sig-arg">curve</span>,
        <span class="summary-sig-arg">point</span>)</span><br />
      Factory method: Creates a surface by extruding a curve to a point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_pnt">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_extrude_crv_straight" class="summary-sig-name">create_by_extrude_crv_straight</a>(<span class="summary-sig-arg">curve</span>,
        <span class="summary-sig-arg">start_point</span>,
        <span class="summary-sig-arg">end_point</span>)</span><br />
      Factory method: Creates a surface by extruding a curve straight along
      two points that define a line.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_straight">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_extrude_crv_tapered" class="summary-sig-name">create_by_extrude_crv_tapered</a>(<span class="summary-sig-arg">curve</span>,
        <span class="summary-sig-arg">distance</span>,
        <span class="summary-sig-arg">direction</span>,
        <span class="summary-sig-arg">base_point</span>,
        <span class="summary-sig-arg">angle</span>,
        <span class="summary-sig-arg">corner_type</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method:
Creates a surface by extruding a curve to a taper.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_tapered">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes.NurbsSurface-class.html#create_by_fit" class="summary-sig-name">create_by_fit</a>(<span class="summary-sig-arg">surface</span>,
        <span class="summary-sig-arg">degree</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Factory method: Reduces the number of surface control points while 
      maintaining the surfaces' same general shape.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_fit">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">_rhino_id</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Overrides:
        object.__init__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="create_by_cut_plane"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_cut_plane</span>(<span class="sig-arg">objects</span>,
        <span class="sig-arg">start_point</span>,
        <span class="sig-arg">end_point</span>,
        <span class="sig-arg">normal_vector</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_cut_plane">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Adds a planar surface through objects at a designated 
  location.  For more information, see the Rhino help file for the CutPlane
  command.</p>
  <h1 class="heading">Parameters</h1>
    <p>objects  (list of array_of _ObjectRoot, Required) - The identifiers 
    of objects that the cutting planes will pass through. start_point  
    (List of float, Required) - The start of the line that defines the 
    cutting plane. end_point  (List of float, Required) - The end of the 
    line that defines the cutting plane. normal_vector  (List of float, 
    Optional) - In the case of Rhino's CutPlane command, this is the normal
    to, or Z axis of, the active view's construction plane.  If omitted, 
    the world Z axis is used.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddCutPlane</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_edge"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_edge</span>(<span class="sig-arg">edge_curves</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_edge">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface from 2, 3, or 4 edge curves.</p>
  <h1 class="heading">Parameters</h1>
    <p>edge_curves  (list of curve object, Required) - An list of 2, 3, or 
    4 curve object identifiers.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddEdgeSrf</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_loft"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_loft</span>(<span class="sig-arg">section_curves</span>,
        <span class="sig-arg">start_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">end_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">srf_type</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">style</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">value</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">closed</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_loft">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Factory method:
Adds a surface created by lofting curves to the document.
        * This function will not perform any curve sorting. You must pass in curves in the order you want them lofted.
        * This function will not adjust the directions of open curves. Use CurveDirectionsMatch and ReverseCurve to adjust the directions of open curves.
        * This function will not adjust the seams of closed curves. Use CurveSeam to adjust the seam of closed curves.

Parameters
==========
section_curves  (list of curve object, Required) - An ordered list of strings identifying the curve objects to loft.
start_point  (List of float, Optional) - The starting point of the loft.
end_point  (List of float, Optional) - The ending point of the loft.
srf_type  (integer, Optional) - The type of loft. The default loft type is Normal (0). The possible loft types are as follows:
        Value
        Description
        0
        Normal. Uses chord-length parameterization in the loft direction.
        1
        Loose. The surface is allowed to move away from the original curves to make a smoother surface. The surface control points are created at the same locations as the control points of the loft input curves.
        2
        Straight. The sections between the curves are straight. This is also known as a ruled surface.
        3
        Tight. The surface sticks closely to the original curves. Uses square root of chord-length parameterization in the loft direction.
        4
style  (integer, Optional) - The simplify method of the loft. The default value is None (0). The possible loft simplify methods are as follows:
        Value
        Description
        0
        None. Does not simplify.
        1
        Rebuild. Rebuilds the shape curves before lofting.
        2
value  (integer, Optional) - A value based on the specified intStyle. If intStyle=1 (Rebuild), then nValue is the number of control point used to rebuild. If intstyle=1 is specified and this argument is omitted, then curves will be rebuilt using 10 control points. If intStyle=2 (Refit), then nValue is the tolerance used to rebuild. If intstyle=2 is specified and this argument is omitted, then the document's absolute tolerance us used for refitting.
closed  (boolean, Optional) - Creates a closed surface, continuing the surface past the last curve around to the first curve. Available when you have selected three shape curves. The default value is not to create a closed surface (False).

Returns
=======
object - The new object if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: AddLoftSrf

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create</span>(<span class="sig-arg">point_count</span>,
        <span class="sig-arg">points</span>,
        <span class="sig-arg">knots_u</span>,
        <span class="sig-arg">knots_v</span>,
        <span class="sig-arg">degree</span>,
        <span class="sig-arg">weights</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Adds a NURBS surface object to the document.</p>
  <h1 class="heading">Parameters</h1>
    <p>point_count  (List of integer, Required) - The number of control 
    points in the U and V directions. points  (List of float, Required) - 
    An list of 3-D control points. knots_u  (List of integer, Required) - 
    The knot values for the surface in the U direction.  The list must 
    contain arrPointCount(0) + arrDegree(0) - 1 elements. knots_v  (List of
    integer, Required) - The knot values for the surface in the V 
    direction.  The list must contain arrPointCount(1) + arrDegree(1) - 1 
    elements. degree  (List of integer, Required) - The degree of the 
    surface in the U and V directions.  The degree in each direction must 
    be greater than or equal to one (1). weights  (List of integer, 
    Required) - The weight values for the surface.  The number of elements 
    in arrWeights equal the number of elements in arrPoints.  Weight values
    must be greater than zero (0).</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddNurbsSurface</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_planar_crv"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_planar_crv</span>(<span class="sig-arg">planar_curves</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_planar_crv">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates one or more surfaces from planar curves.</p>
  <h1 class="heading">Parameters</h1>
    <p>planar_curves  (list of curve object, Required) - An list of curve 
    object identifiers.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddPlanarSrf</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_rail_rev"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_rail_rev</span>(<span class="sig-arg">profile</span>,
        <span class="sig-arg">rail</span>,
        <span class="sig-arg">axis</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_rail_rev">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Create a surface by revolving a profile curve along a 
  rail curve.</p>
  <h1 class="heading">Parameters</h1>
    <p>profile  (curve object, Required) - The identifier of the profile 
    curve. rail  (curve object, Required) - The identifier of the rail 
    curve. axis  (List of float, Required) - An list of two 3-D points 
    identifying the start point and end point of the rail revolve axis.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddRailRevSrf</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_rev"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_rev</span>(<span class="sig-arg">profile</span>,
        <span class="sig-arg">axis</span>,
        <span class="sig-arg">start_angle</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">end_angle</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_rev">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Create a surface by revolving a curve around an 
  axis.</p>
  <h1 class="heading">Parameters</h1>
    <p>profile  (curve object, Required) - The identifier of the curve to 
    revolve. axis  (List of float, Required) - An list of two 3-D points 
    identifying the start point and end point of the rail revolve axis. 
    start_angle  (float, Optional) - The starting angle. If omitted, an 
    angle of 0.0 is used. end_angle  (float, Optional) - The ending angle. 
    If omitted, an angle of 360.0 is used.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddRevSrf</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_control_pnt_grid"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_control_pnt_grid</span>(<span class="sig-arg">count</span>,
        <span class="sig-arg">points</span>,
        <span class="sig-arg">degree</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_control_pnt_grid">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface from a grid of control points.</p>
  <h1 class="heading">Parameters</h1>
    <p>count  (List of integer, Required) - The number of control points in
    the U and V directions. points  (List of float, Required) - An list of 
    3-D control points. degree  (List of float, Optional) - The degree of 
    the surface in the U and V directions.  If omitted, the degree of the 
    new surface in the U and V directions will be 3.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    AddSrfControlPtGrid</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_corner_pnts"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_corner_pnts</span>(<span class="sig-arg">points</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_corner_pnts">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a new surface from either 3 or 4 corner 
  points.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of either 3 or 4 corner 
    points.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddSrfPt</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_pnt_grid"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_pnt_grid</span>(<span class="sig-arg">count</span>,
        <span class="sig-arg">points</span>,
        <span class="sig-arg">degree</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">closed</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_pnt_grid">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface from a grid of points.</p>
  <h1 class="heading">Parameters</h1>
    <p>count  (List of integer, Required) - The number of points in the U 
    and V directions. points  (List of float, Required) - An list of 3-D 
    points. degree  (List of integer, Optional) - The degree of the surface
    in the U and V directions.  If omitted, the degree of the new surface 
    in the U and V directions will be 3. closed  (List of boolean, 
    Optional) - Whether or not the surface is closed in the U and V 
    directions.  If omitted, the new surface will not be closed in either 
    the U or V directions.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: AddSrfPtGrid</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_sweep_1"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_sweep_1</span>(<span class="sig-arg">rail</span>,
        <span class="sig-arg">shapes</span>,
        <span class="sig-arg">start_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">end_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">closed</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">style</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">style_arg</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">simplify</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">simplify_arg</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_sweep_1">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Factory method:
Adds a surface created through profile curves that define the surface shape and one curve that defines a surface edge. For more details on this method, see the Rhino help file for the Sweep1 command.
        Note, this method does not perform any curve sorting or direction matching on the input shape curves. This is the responsibility of the script writer.
        For best results:
        * The shape curves should all be oriented in the same direction.
        * The starting point of each shape curve should either intersect with or be close to the rail curve.
        * The shape curves should be passed in order, starting with the curve closest to the starting point of the rail.

Parameters
==========
rail  (curve object, Required) - The identifier of the rail curve.
shapes  (list of curve object, Required) - An list of strings identifying one or more shape, or cross section, curves.
start_point  (List of float, Optional) - The 3-D starting point of the surface.
end_point  (List of float, Optional) - The 3-D ending point of the surface.
closed  (boolean, Optional) - If True, then create a closed surface, continuing the surface past the last curve around to the first curve. This option is only available after you select two cross-section curves.  The default value is False.
style  (integer, Optional) - The sweep style, where 0 = Freeform and 1 = Roadlike. The default value is 0 = Freeform.
style_arg  (list, Optional) - If intStyle = 1 (Roadlike), then this argument is a 3-D vector identifying the planar up direction for the sweep.
simplify  (integer, Optional) - Cross section curve options, where 0 = Do Not Simplify, 1 = Refit, and 2 = Rebuild. The default value is 0 = Do Not Simplify.
simplify_arg  (list, Optional) - If intSimplify = 1 (Refit), then this argument is a number specifying the refit tolerance.  If intSimplify = 2 (Rebuild), then this argument is a number specifying the number of control points to rebuild the shape curves.

Returns
=======
object - The new object if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: AddSweep1

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_sweep_2"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_sweep_2</span>(<span class="sig-arg">rails</span>,
        <span class="sig-arg">shapes</span>,
        <span class="sig-arg">start_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">end_point</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">closed</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">simple_sweep</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">maintain_height</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">simplify</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">simplify_arg</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_sweep_2">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Factory method:
Adds a surface created through profile curves that define the surface shape and two curves that define the surface edges. For more details on this method, see the Rhino help file for the Sweep2 command.
        Note, this method does not perform any curve sorting or direction matching on the input shape curves. This is the responsibility of the script writer.
        For best results:
        * The shape curves should all be oriented in the same direction.
        * The starting point of each shape curve should either intersect with or be close to the first rail curve.
        * The ending point of each shape curve should either intersect with or be close to the second rail curve.
        * The shape curves should be passed in order, starting with the curve closest to the starting point of the rail.

Parameters
==========
rails  (list of curve object, Required) - An list of strings identifying two rail curves.
shapes  (list of curve object, Required) - An list of strings identifying one or more shape, or cross section, curves.
start_point  (List of float, Optional) - The 3-D starting point of the surface.
end_point  (List of float, Optional) - The 3-D ending point of the surface.
closed  (boolean, Optional) - If True, then create a closed surface, continuing the surface past the last curve around to the first curve. This option is only available after you select two cross-section curves.  The default value is False.
simple_sweep  (boolean, Optional) - If True, then create surfaces using exact input. This option generates simpler surfaces in cases when the curves are perfectly set up.  The default value is False.
maintain_height  (boolean, Optional) - By default, shape curves normally scale in both the height and width dimensions. To remove the association between the height scaling from the width scaling, set this value to True.  The default value is False.
simplify  (integer, Optional) - Cross section curve options, where 0 = Do Not Simplify, 1 = Refit, and 2 = Rebuild. The default value is 0 = Do Not Simplify.
simplify_arg  (list, Optional) - If intSimplify = 1 (Refit), then this argument is a number specifying the refit tolerance.  If intSimplify = 2 (Rebuild), then this argument is a number specifying the number of control points to rebuild the shape curves.

Returns
=======
object - The new object if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: AddSweep2

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_extrude_crv"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_extrude_crv</span>(<span class="sig-arg">curve</span>,
        <span class="sig-arg">path</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface by extruding a curve along a path 
  curve.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Required) - The identifier of the curve object
    to extrude. path  (string, Required) - The identifier of the path 
    curve.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: ExtrudeCurve</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_extrude_crv_pnt"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_extrude_crv_pnt</span>(<span class="sig-arg">curve</span>,
        <span class="sig-arg">point</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_pnt">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface by extruding a curve to a point.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Required) - The identifier of the curve object
    to extrude. point  (List of float, Required) - A 3-D point.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: ExtrudeCurvePoint</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_extrude_crv_straight"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_extrude_crv_straight</span>(<span class="sig-arg">curve</span>,
        <span class="sig-arg">start_point</span>,
        <span class="sig-arg">end_point</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_straight">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Creates a surface by extruding a curve straight along 
  two points that define a line.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Required) - The identifier of the curve object
    to extrude. start_point  (List of float, Required) - A starting point. 
    end_point  (List of float, Required) - A ending point.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    ExtrudeCurveStraight</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_extrude_crv_tapered"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_extrude_crv_tapered</span>(<span class="sig-arg">curve</span>,
        <span class="sig-arg">distance</span>,
        <span class="sig-arg">direction</span>,
        <span class="sig-arg">base_point</span>,
        <span class="sig-arg">angle</span>,
        <span class="sig-arg">corner_type</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_extrude_crv_tapered">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Factory method:
Creates a surface by extruding a curve to a taper. Unlike Lofts and Sweeps, the initial orientation of the profile curve is maintained through the extrusion.

Parameters
==========
curve  (curve object, Required) - The identifier of the curve object to extrude.
distance  (float, Required) - The extrusion distance.
direction  (List of float, Required) - A 3-D vector that specifies the extrusion direction.
base_point  (List of float, Required) - A 3-D point that specifies the base point of the extrusion.
angle  (float, Required) - The angle of the extrusion.
corner_type  (integer, Optional) - The corner type of the extrusion, where:
        Value
        Description
        0 (Default)
        No corner
        1
        Sharp - Offsets and extends curves with a straight line until they intersect.
        2
        Round - Offsets and fillets curves with an arc of radius equal to the offset distance.
        3
        Smooth - Offsets and connects curves with a smooth (G1 continuity) curve.
        4

Returns
=======
list of objects - The new objects if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: ExtrudeCurveTapered

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="create_by_fit"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_by_fit</span>(<span class="sig-arg">surface</span>,
        <span class="sig-arg">degree</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#NurbsSurface.create_by_fit">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Factory method: Reduces the number of surface control points while 
  maintaining the surfaces' same general shape.  Use this function for 
  replacing surface with too many control points.  For more information, 
  see the Rhino help file for the FitSrf command.</p>
  <h1 class="heading">Parameters</h1>
    <p>surface  (surface object, Required) - The object's identifier. 
    degree  (List of integer, Optional) - An list of two numbers that 
    identify the surface curve degree in both the U and the V directions. 
    Each degree value must be greater than 1. The default is 3. tolerance  
    (float, Optional) - The fitting tolerance.  If dblTolerance is not 
    specified or &lt;= 0.0, the document absolute tolerance is used.</p>
  <h1 class="heading">Returns</h1>
    <p>object - The new object if successful. None - If not successful, or 
    on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: FitSurface</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed Sep 02 08:00:06 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
